package CutLoad.mc
{
	import flash.display.DisplayObject;
	import flash.display.MovieClip;
	import flash.display.SimpleButton;
	import flash.display.Sprite;
	import flash.events.MouseEvent;
	import flash.text.TextField;

	/**
	 * 翻页组件(只有页码的提示)
	 * @author smallerbird mail:smallerbird@gmail.com  site:www.mkigm.com QQ群:49983196
	 * 
	 */
	public class PageBtns
	{
		private var btnUp:SimpleButton,btnDown:SimpleButton,txt:TextField
		private var url:String;
		private var target:DisplayObject;
		//当前页数，总页数
		private var funPageChang:Function;
		//总页数
		private var pageCount:Number,currentPage:Number;
		//
		/**
		 * 初始化 
		 * @param target  操作目标 
		 * @param pageCount 总页数
		 * @param funPageChang 当翻页时调用的方法   格式:function(页数:Number) 返回记录对象数组   
		 * @param btnUp 操作目标 下：向上翻页按钮实例的名称  默认值为:btnPageUp
		 * @param btnDown 操作目标 下：向下翻页按钮实例的名称 默认值为:btnPageDown
		 * @param txt 操作目标 下：页码提示文本框名称 默认值为:txtInfo
		 * 
		 * 
		 * 
		 * 翻页组件需要一个事先做好的特定的电影实例做为基础中。必须符合下面的要求：
		 * 向上翻页按钮   默认名称：btnPageUp
		 * 向下翻页按钮   默认名称：btnPageDown
		 * 页码提示文本框 默认名称：txtInfo
		 * 
		 */		
		public function PageBtns(target:DisplayObject,pageCount:Number,funPageChang:Function,btnUp:SimpleButton=null,btnDown:SimpleButton=null,txt:TextField=null)
		{
			this.target=target;
			this.pageCount=pageCount;
			currentPage=1;
			//
			if(btnUp==null) btnUp=target["btnPageUp"]
			this.btnUp=btnUp;
			if(btnDown==null) btnDown=target["btnPageDown"]
			this.btnDown=btnDown
			if(txt==null) txt=target["txtInfo"]
			this.txt=txt
			showPageInfo();
			btnUp.addEventListener(MouseEvent.CLICK,click);
			btnDown.addEventListener(MouseEvent.CLICK,click);
			//
			this.funPageChang=funPageChang;
			
		}
		/**
		 * 设置当翻页时调用的方法   格式:function(页数:Number) 返回记录对象数组
		 * @param fun
		 * 
		 */		
		public function setFunPageChang(fun:Function):void{
			this.funPageChang=fun;
		}
		/**
		 * 重新设置总页数 
		 * @param pageCount
		 * 
		 */		
		public function setPageCount(pageCount:Number):void{
			this.pageCount=pageCount;
			showPageInfo();
		}
		private function showPageInfo():void{
			txt.text=currentPage+"/"+this.pageCount;
			checkSHBtns();
		}
		//检测实际页数，确定是否显示上一页，下一页，翻页
		private function checkSHBtns():void{
			if(pageCount==1){
				this.target.visible=false;
				return;
			}
			this.target.visible=true;
			btnUp.visible=currentPage==1?false:true;
			btnDown.visible=currentPage==pageCount?false:true;
		}
		private function click(e:MouseEvent):void{
			switch(e.target){
				case btnUp:
					//trace("btnUp");
					currentPage--;
					if(currentPage<=0){
						currentPage=1;
					}else{
						showPageInfo()
						this.funPageChang(currentPage);
					}
					break;
			 	case btnDown:
					//trace("btnDown");
					currentPage++
					if(currentPage>pageCount){
						currentPage=pageCount;	
					}else{
						showPageInfo()
						this.funPageChang(currentPage);
					}
					break;
			}
		}
		//
	}
}